home *** CD-ROM | disk | FTP | other *** search
/ FishMarket 1.0 / FishMarket v1.0.iso / fishies / 076-100 / disk_087 / yaiffr / myiff.h < prev    next >
C/C++ Source or Header  |  1992-05-06  |  2KB  |  79 lines

  1. /*  :ts=8 bk=0
  2.  *
  3.  * myiff.h:    Definitions for my IFF reader.
  4.  *
  5.  * Leo L. Schwab            8705.11
  6.  */
  7.  
  8. /*  Masking techniques  */
  9. #define    mskNone            0
  10. #define    mskHasMask        1
  11. #define    mskHasTransparentColor    2
  12. #define    mskLasso        3
  13.  
  14. /*  Compression techniques  */
  15. #define    cmpNone            0
  16. #define    cmpByteRun1        1
  17.  
  18. /*  Bitmap header (BMHD) structure  */
  19. struct BitMapHeader {
  20.     UWORD    w, h;        /*  Width, height in pixels */
  21.     WORD    x, y;        /*  x, y position for this bitmap  */
  22.     UBYTE    nplanes;    /*  # of planes  */
  23.     UBYTE    Masking;
  24.     UBYTE    Compression;
  25.     UBYTE    pad1;
  26.     UWORD    TransparentColor;
  27.     UWORD    XAspect, YAspect;
  28.     WORD    PageWidth, PageHeight;
  29. };
  30.  
  31. /*  Color register structure (not really used)  */
  32. struct ColorRegister {
  33.     UBYTE red, green, blue;
  34. };
  35.  
  36. /*  Makes my life easier.  */
  37. union typekludge {
  38.     char type_str[4];
  39.     long type_long;
  40. };
  41.  
  42. struct ChunkHeader {
  43.     union typekludge chunktype;
  44.     long chunksize;
  45. };
  46. #define    TYPE        chunktype.type_long
  47. #define    STRTYPE        chunktype.type_str
  48.  
  49.  
  50. /*  Useful macro from EA (the only useful thing they ever made)  */
  51. #define MAKE_ID(a, b, c, d)\
  52.     ( ((long)(a)<<24) + ((long)(b)<<16) + ((long)(c)<<8) + (long)(d) )
  53.  
  54. /*  IFF types we may encounter  */
  55. #define    FORM    MAKE_ID('F', 'O', 'R', 'M')
  56. #define    ILBM    MAKE_ID('I', 'L', 'B', 'M')
  57. #define    BMHD    MAKE_ID('B', 'M', 'H', 'D')
  58. #define    CMAP    MAKE_ID('C', 'M', 'A', 'P')
  59. #define    BODY    MAKE_ID('B', 'O', 'D', 'Y')
  60.  
  61. #define    GRAB    MAKE_ID('G', 'R', 'A', 'B')
  62. #define    DEST    MAKE_ID('D', 'E', 'S', 'T')
  63. #define    SPRT    MAKE_ID('S', 'P', 'R', 'T')
  64. #define    CAMG    MAKE_ID('C', 'A', 'M', 'G')
  65. #define    CRNG    MAKE_ID('C', 'R', 'N', 'G')
  66. #define    CCRT    MAKE_ID('C', 'C', 'R', 'T')
  67. #define    DPPV    MAKE_ID('D', 'P', 'P', 'V')
  68.  
  69.  
  70. /*  Other useful things.  */
  71. #define    CHUNKHEADERSIZE        sizeof (struct ChunkHeader)
  72. #define    SUBTYPESIZE        sizeof (long)
  73.  
  74.  
  75. /*  What functions return  */
  76. extern void    *OpenLibrary(), *AllocMem(), *AllocRaster(), *GetColorMap();
  77.  
  78. struct ViewPort    *readform();
  79.